40 HTAB 16: INVERSE : PRINT ":CONVERTER:": POKE 34,2: NORMAL
50 PRINT
60 PRINT "DO YOU NEED A DESCRIPTION (Y/N)? ";: GET X$
70 IF X$ < >"Y" THEN 120
80 PRINT : PRINT
90 PRINT "THIS PROGRAM WILL SHRINK ALL OF THE": PRINT "CHARACTERS OF A 40 COLUMN TEXT FONT TO": PRINT "THE SIZE OF A 56 OR 70 COLUMN FONT."
100 PRINT : PRINT "(NOTE: BECAUSE THE CONVERSION ALGORITHM": PRINT "IS GENERAL, IT IS ALMOST CERTAIN THAT": PRINT "10% - 20% OF THE CHARACTERS WILL NEED": PRINT "TO BE TOUCHED UP.)"
110 PRINT : PRINT "PRESS ANY KEY TO CONTINUE.";: GET X$
120 HOME
130 PRINT "ENTER THE NAME OF THE CHARACTER SET YOU": PRINT "WOULD LIKE TO SHRINK:": INPUT "";CS$
140 A = ( PEEK(176) +1) *256
150 PRINT
160 PRINT "LOADING THE CHARACTER SET.": PRINT CHR$(4)"BLOAD"CS$",A"A
170 PRINT : PRINT "SHRINK IT TO 56 COLUMN SIZE OR TO": PRINT "70 COLUMN SIZE (5=56/7=70)? ";: GET X$
180 IF X$ = "5" THEN PRINT X$: GOTO 210
190 IF X$ = "7" THEN PRINT X$: GOTO 390
200 VTAB 8: HTAB 1: GOTO 170
210 PRINT : PRINT "SHRINKING."
220 PRINT : PRINT "[ ] <-- THIS WILL BE 768 WHEN DONE.";
230 FOR I = A TO A +767
240 BYTE = PEEK(I)
250 TEMP = 0:K = 16:P1 = 32
260 IF BYTE > = 128 THEN BYTE = BYTE -128
270 IF BYTE > = 64 THEN BYTE = BYTE -64
280 FOR J = 5 TO 0 STEP -1
290 IF BYTE <P1 THEN 330
300 BYTE = BYTE -P1
310 IF J = 2 THEN 330
320 TEMP = TEMP +K
330 IF J < >2 THEN K = K/2
340 P1 = P1/2
350 NEXT
360 POKE I,TEMP
370 HTAB 2: PRINT (I -A) +1;
380 NEXT : GOTO 580
390 PRINT : PRINT "SHRINKING."
400 PRINT : PRINT "[ ] <-- THIS WILL BE 768 WHEN DONE.";
410 FOR I = A TO A +767
420 BYTE = PEEK(I)
430 TEMP = 0:K = 8:P1 = 32
440 IF BYTE > = 128 THEN BYTE = BYTE -128
450 IF BYTE > = 64 THEN BYTE = BYTE -64
460 FOR J = 5 TO 0 STEP -1
470 IF BYTE <P1 THEN 520
480 BYTE = BYTE -P1
490 IF J = 2 THEN 520
500 IF J = 4 THEN 520
510 TEMP = TEMP +K
520 IF J < >2 AND J < >4 THEN K = K/2
530 P1 = P1/2
540 NEXT
550 POKE I,TEMP
560 HTAB 2: PRINT (I -A) +1;
570 NEXT
580 PRINT : PRINT : PRINT "ENTER THE NEW NAME FOR SAVING THE": PRINT "CHARACTER SET. (RETURN FOR SAME NAME)": INPUT "";X$
590 IF X$ = "" THEN X$ = CS$
600 PRINT : PRINT "SAVING THE CHARACTER SET."
610 PRINT CHR$(4)"BSAVE"X$",A"A",L"768
620 PRINT : PRINT "WOULD YOU LIKE TO SHRINK ANOTHER ": PRINT "CHARACTER SET (Y/N)? ";: GET X$